package com.aaa.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


import java.io.Serializable;
import java.util.Date;
import java.util.UUID;

@ApiModel("用户实体类")
@Data
public class Users implements Serializable {


        private static final long serialVersionUID = 1L;

        @ApiModelProperty("用户唯一标识(UUID)")
        private String id;  // Changed from Integer to String for UUID

        @ApiModelProperty("用户名(用于登录)")
        private String username;

        @JsonIgnore
        @ApiModelProperty("加密后的密码")
        private String password;

        @ApiModelProperty("用户真实姓名")
        private String name;

        @ApiModelProperty("电子邮箱")
        private String email;

        @ApiModelProperty("手机号码")
        private String phoneNumber;

        @ApiModelProperty("头像URL地址")
        private String avatar;

        @ApiModelProperty("性别(男/女/其他)")
        private String gender;

        @ApiModelProperty("年龄")
        private Integer age;

        @ApiModelProperty("职位")
        private String position;

        @ApiModelProperty("账户状态(活跃/禁用/待审核)")
        private String status;

        @ApiModelProperty("所属部门ID")
        private Integer departmentId;

        @ApiModelProperty("是否管理人员")
        private Boolean isManager;

        @ApiModelProperty("入职日期")
        private Date joinDate;

        @ApiModelProperty("创建时间")
        private Date createdAt;

        @ApiModelProperty("更新时间")
        private Date updatedAt;

        // Constructor to generate UUID if needed
        public Users() {
                this.id = UUID.randomUUID().toString();
        }
}